
const p = {
    kind: '禽类',
    fly(){
        console.log(`${this.kind}动物大都是可以飞的`);
    }
}

const x = Object.create(p, {
    name: { value: '凤', enumerable: true },
    gender: { value: '雄', enumerable: false }
});

const t = Object.create(x, {
    age: { value: '2000', enumerable: true }
});

// Object.prototype.isPrototypeOf(another)
// 作用: 用于判断当前对象是否存在于另一个对象(another)的原型链上
// 返回: 仅当当前对象存在于另一个对象的原型链上时返回 true
console.log( p.isPrototypeOf(x) ); // true
console.log( p.isPrototypeOf(t) ); // true

console.log( x.__proto__ === p ); // true
console.log( t.__proto__ === x ); // true
console.log( t.__proto__.__proto__ === p ); // true

// 参考文档:
// https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf